As computing moves off the desktop into the hands of mobile users, it is becoming more important for mobile devices to be aware of the user's context. Important pieces of context include the user's location, activities, nearby people and devices, and mode of transportation, if any. This knowledge can in turn be used by mobile devices to display reminders, to configure themselves for use with other devices, and to behave in a way that is appropriate for the surrounding environment (e.g., turn off cell phone ringer) or subcontexts of the surrounding environment such as whether particular states or transitions among states are occurring within the environment.
One aspect of context concerns whether or not the user (and the device) is inside or outside of a building or structure. For example, knowledge of such information can be used to facilitate determining the user's location (e.g., in a building or structure, in a particular building or structure, or in one of a set of known buildings or structures) and the user's mode of transportation (e.g., in a bus, car or airplane). Such knowledge can also be used to conserve power on systems that do not provide useful services inside buildings or outside. For example, because GPS technology typically fails to operate inside a structure because GPS satellite signals cannot penetrate the structure, determination of the likelihood that a user is inside can be used to turn off a handheld GPS subsystem or put the handheld system into a reduced-power mode whereby it probes for the absence of satellite signals periodically so as to conserve the batteries of the GPS system. When sufficient GPS signal strength is again detected, the handheld system resumes full power to the GPS subsystem.
Another aspect of context is related to a larger scale, that is, urban canyons. Knowledge of where the user has traveled, currently is, and is heading in an urban canyon, which includes structures such as multi-story buildings (principally, and whether the user is inside or outside of the building), but also include trees, hills, and tunnels (generally), can be of value to the user and to companies that seek to benefit economically by knowledge of the user location by providing location-based services to the user.
Conventional location-based services use knowledge of a user location to index into services and data that are likely to be useful at that location. For instance, a conventional reminder application like may give the user relevant information at a given location, such as “You're near a grocery store, and you need milk at home.” Another conventional application, known as an “electronic graffiti” system supports a user who chooses to leave electronic notes (for him/her or others) that are associated with a particular location, such as “There is a better Thai restaurant one block north of here.” Additionally, location-based tour guide applications offer relevant information about an exhibit or site at which the user is standing. These and most other location-based services share a need for a custom database dedicated to storing and serving data for specified locations.
In other words, reminder systems must have reminders, electronic graffiti systems need digital tags, and tour guide systems need site information, each of which require a custom, location-sensitive database that must be built especially for the application. Thus, deployment costs reduce the initial appeal of such services. While a custom data store of location-indexed data can lead to interesting applications, there is already a wealth of location-tagged data already available on the Internet that can be easily exploited to create compelling location-aware applications without the data deployment costs of traditional applications of this type.